@InProceedings{LimaFranciscoMoGuBaNaLa:2017:AnAPSu,
author = "Lima Francisco, Phyllipe de Souza and Mocci, Andrea and Guerra,
Eduardo Martins and Bavota, Grabriele and Nardes, Marco and Lanza,
Michele",
affiliation = "{Instituto Nacional de Pesquisas Espaciais (INPE)} and {University
of Lugano} and {Instituto Nacional de Pesquisas Espaciais (INPE)}
and {University of Lugano} and {Instituto Nacional de Pesquisas
Espaciais (INPE)} and {University of Lugano}",
title = "An annotation-based API for supporting runtime code annotation
reading",
booktitle = "Proceedings...",
year = "2017",
organization = "ACM SIGPLAN International Workshop on Meta-Programming Techniques
and Reflection",
keywords = "metadata, code annotation, framework development.",
abstract = "Code annotations are the core of the main APIs and frameworks for
enterprise development, and are widely used on several
applications. However, despite these APIs and frameworks made
advanced uses of annotations, the language API for annotation
reading is far from their needs. In particular, annotation reading
is still a relatively complex task, that can consume a lot of
development time and that can couple the framework internal
structure to its annotations. This paper proposes an
annotation-based API to retrieve metadata from code annotations
and populate an instance with meta-information ready to be used by
the framework. The proposed API is based on best practices and
approaches for metadata definition documented on patterns, and has
been implemented by a framework named Esfinge Metadata. We
evaluated the approach by refactoring an existing framework to use
it through Esfinge Metadata. The original and the refactored
versions are compared using several code assessment techniques,
such as software metrics, and bad smells detection, followed by a
qualitative analysis based on source code inspection. As a result,
the case study revealed that the usage of the proposed API can
reduce the coupling between the metadata reading code and the
annotations.",
conference-location = "Vancouver, Canada",
conference-year = "22 Oct.",
language = "en",
targetfile = "lima_annotation.pdf",
urlaccessdate = "27 abr. 2024"
}